package com.example.es.dataobject;

import com.example.es.constants.FieldAnalyzer;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

/**
 * IK提供了两个分词算法ik_smart 和 ik_max_word
 * 其中 ik_smart 为最少切分，ik_max_word为最细粒度划分
 *
 * @author luowj12
 * @since 2021/3/22 10:30
 */

@Document(indexName = "company", // 索引名
        //type = "product", // 类型。未来的版本即将废弃
        shards = 1, // 默认索引分区数
        replicas = 0, // 每个分区的备份数
        refreshInterval = "-1" // 刷新间隔
)
@Data
public class ProductPO {
    /**
     * ID 主键
     */
    @Id
    private Integer id;

    /**
     * SPU 名字
     */
    @Field(analyzer = "ik_max_word", type = FieldType.Text)
    private String name;
    /**
     * 卖点
     */
    @Field(analyzer = "ik_max_word", type = FieldType.Text)
    private String sellPoint;
    /**
     * 描述
     */
    @Field(analyzer = "ik_max_word", type = FieldType.Text)
    private String description;
    /**
     * 分类编号
     */
    private Integer cid;
    /**
     * 分类名
     */
    @Field(analyzer = "ik_max_word", type = FieldType.Text)
    private String categoryName;

}
